package com.ls.springbootdemo.config;

import com.ls.springbootdemo.util.SnowFlakeUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * 雪花id生成器
 *
 * @author 挥之以墨
 */
@Component
public class SnakeFlowGenerator {

    /**
     * 使用java -jar 启动时，使用两个横杠就可以配置启动参数。
     * 如：--snakeflow.work-id=100，application.yml中的值自然会修改成100
     */
    @Value("${snakeflow.work-id}")
    private long workId;

    /**
     * 获取雪花id
     */
    public long getId() {
        return SnowFlakeUtil.getInstance(workId).getId();
    }

    public long getWorkId() {
        return workId;
    }
}
